/*
 * OPIAM Suite
 *
 * Distributable under LGPL license.
 * See terms of license at gnu.org.
 */

package opiam.admin.applis.tutorial.beans;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

import opiam.admin.faare.persistence.javabeans.JBUser;


/**
 * Mapping class for the person object.<br>
 * The definition of the object is given in the faare_mapping.xml file.
 * This file defines the mapping between the person object and the
 *  corresponding LDAP entries.
 *
 * This class defines the setter and getter methods for all the attributes of
 * a person entry as named in the faare_mapping.xml file.
 *
 * All the classes that describe a mapped object representing users must extend
 *  the JBUser class which inherits from the JBTop class.
 * The JBUser class represents the connected user.
 */
public class Person extends JBUser implements Serializable
{
   /** ObjectClasses list. */
   private List objectClass = new ArrayList();

    /** User identifier. */
    private String id;

   /** First name and last name. */
    private String commonName;

    /** Last name. */
    private String name;

    /** First name. */
    private String givenName;

    /** Password. */
    private String password;

    /** Phone number. */
    private String phone;

    /** Mail. */
    private String mail;

    /** Photo. */
    private Collection photo;


    /**
     * Creates a new Person object.
     */
    public Person()
    {
    }

    /**
     * Gets the set of objectclasses.
     *
     * @return The objectClasses list.
     */
    public List getObjectClass()
    {
        return objectClass;
    }

    /**
     * Initializes the set of objectclasses.
     *
     * @param objectClasses The objectClass list to set.
     */
    public void setObjectClass(List objectClasses)
    {
        this.objectClass = objectClasses;
    }

    /**
     * Gets the user identifier.
     *
     * @return The identifier.
     */
    public String getId()
    {
        return id;
    }

    /**
     * Sets the user identifier.
     *
     * @param anid  The identifier to set.
     */
    public void setId(String anid)
    {
        this.id = anid;
    }

    /**
     * Gets the first name and the last name.
     *
     * @return The concatenation of the first name and the last name.
     */
    public String getCommonName()
    {
        return commonName;
    }

    /**
     * Sets the first name and the last name.
     *
     * @param aCN  The first name and the last name to set.
     */
    public void setCommonName(String aCN)
    {
        this.commonName = aCN;
    }

    /**
     * Gets the last name.
     *
     * @return The last name.
     */
    public String getName()
    {
        return name;
    }

    /**
     * Sets the last name.
     *
     * @param aname  The last name to set.
     */
    public void setName(String aname)
    {
        this.name = aname;
    }

    /**
     * Gets the first name.
     *
     * @return The first name.
     */
    public String getGivenName()
    {
        return givenName;
    }

    /**
     * Sets the first name.
     *
     * @param aGN  The first name to set.
     */
    public void setGivenName(String aGN)
    {
        this.givenName = aGN;
    }

    /**
     * Gets the password.
     *
     * @return The password.
     */
    public String getPassword()
    {
        return password;
    }

    /**
     * Sets the password.
     *
     * @param apassword The password to set.
     */
    public void setPassword(String apassword)
    {
        this.password = apassword;
    }

    /**
     * Gets the mail.
     *
     * @return The mail.
     */
    public String getMail()
    {
        return mail;
    }

    /**
     * Sets the mail.
     *
     * @param amail  The mail to set.
     */
    public void setMail(String amail)
    {
        this.mail = amail;
    }

    /**
     * Gets the phone number.
     *
     * @return The phone number.
     */
    public String getPhone()
    {
        return phone;
    }

    /**
     * Sets the phone number.
     *
     * @param aphone  The phone number to set.
     */
    public void setPhone(String aphone)
    {
        this.phone = aphone;
    }

    /**
     * Gets the photo.
     *
     * @return The photo as a bytes collection.
     */
    public Collection getPhoto()
    {
        return photo;
    }

    /**
     * Sets the photo.
     *
     * @param value  The bytes collection to set as a photo.
     */
    public void setPhoto(Collection value)
    {
        this.photo = value;
    }

}
